#!/bin/sh 

# This shell script creates an AppImage for pdf2htmlEX

# source ./buildScripts/reSourceVersionEnvs
. ./buildScripts/reSourceVersionEnvs

echo ""
echo "-------------------------------------------------------------------"
echo "CREATING pdf2htmlEX AppImage"
echo "-------------------------------------------------------------------"
echo ""

set -ev

# For appimage output plugin
#
#export VERSION="$PDF2HTMLEX_BRANCH-$BUILD_TIME"
export APPIMAGE_NAME="pdf2htmlEX-$PDF2HTMLEX_NAME.AppImage"

echo "export APPIMAGE_NAME=\"$APPIMAGE_NAME\"" >> buildScripts/reSourceVersionEnvs

mkdir -p imageBuild/appDir/usr/lib/

cd pdf2htmlEX/build

sudo rm -rf install_manifest.txt

make install DESTDIR=../../imageBuild/appDir

cd ../../poppler-data

make install                                  \
  prefix=$PDF2HTMLEX_PREFIX                   \
  datadir=$PDF2HTMLEX_PREFIX/share/pdf2htmlEX \
  DESTDIR=../imageBuild/appDir

cd ../imageBuild

# Make sure directories can be traversed by nobody
#
#find appDir -type d -exec chmod 755 {} \;
#
# Make sure files can be read by nobody
#
#find appDir -type f -exec chmod 644 {} \;

# force libfontconfig into AppImage (linuxdeploy blacklists libfontconfig) 
# (turned off since libfontconfig needs to be matched to the underlying 
#  OS's collection of fonts and /etc/fonts configuration files) 
#
#cp /usr/lib/x86_64-linux-gnu/libfontconfig.so.1 appDir/usr/lib/

LINUX_DEPLOY_APP_IMAGE=linuxdeploy-$MACHINE_ARCH.AppImage

wget $LINUX_DEPLOY_URL/$LINUX_DEPLOY_APP_IMAGE

chmod a+x $LINUX_DEPLOY_APP_IMAGE

if [ ! -w /dev/fuse ] ; then
  # We are in an environment in which FUSE is not useable...
  #
  # We explicilty extract the appimage to a squashfs to allow it to be used 
  # even if FUSE is not available.
  #
  ./$LINUX_DEPLOY_APP_IMAGE --appimage-extract
  #
  LINUX_DEPLOY_APP_IMAGE=squashfs-root/AppRun
fi

export VERBOSE=1
export OUTPUT=$APPIMAGE_NAME

./$LINUX_DEPLOY_APP_IMAGE						\
  -e appDir/$PDF2HTMLEX_PREFIX/bin/pdf2htmlEX	\
  --create-desktop-file							\
  -i ../pdf2htmlEX/logo/pdf2htmlEX.svg			\
  --appdir=appDir								\
  --output appimage


